\documentclass[12pt]{article}
\usepackage{multirow}
\pagestyle{empty}
\setcounter{secnumdepth}{2}

\topmargin=0cm
\oddsidemargin=0cm
\textheight=22.0cm
\textwidth=16cm
\parindent=0cm
\parskip=0.15cm
\topskip=0truecm
\raggedbottom
\abovedisplayskip=3mm
\belowdisplayskip=3mm
\abovedisplayshortskip=0mm
\belowdisplayshortskip=2mm
\normalbaselineskip=12pt
\normalbaselines

\begin{document}

\vspace*{0.5in}
\centerline{\bf\Large Requirements Document}

\vspace*{0.5in}
\centerline{\bf\Large Team 4}

\vspace*{0.5in}
\centerline{\bf\Large 17 January 2012}

\vspace*{1.5in}
\begin{table}[htbp]
\caption{Team}
\begin{center}
\begin{tabular}{|r | c|}
\hline
Name & ID Number \\
\hline\hline
Kevin El Hage & 9765727 \\
\hline
\end{tabular}
\end{center}
\end{table}

\clearpage

\section{System}

\subsection{Purpose}

\subsection{Context}

\subsection{Business Goals}

\section{Domain Concepts}

\section{Actors}

\section{Use Cases}

\subsection{Overview}

\begin{figure}[htbp]
%insert diagram here
\caption{Use Case Diagram}
\label{fig:use-case-diagram}
\end{figure}

\subsubsection{Use Case 1} \label{uc:1}
\begin{tabular} {|l|p{20em}|} \hline
\noindent
{\bf Name} & View Tasks.\\ \hline

\noindent
{\bf Summary} & The user is trying to check a specific task. This requires the user to have tasks assigned to him/her.\\ \hline

\noindent
{\bf Actors} & Any user.\\ \hline

\noindent
{\bf Precondition} & There must be a task assigned.\\ \hline

\noindent
{\bf Main Scenario} & 1. The user checks the tasks table in the task view to see if any task is assigned to him/her.\\ \hline

\noindent
{\bf Exceptions} & 1. If no tasks are assigned, the message "No tasks assigned." will be given.\\ \hline

\noindent
{\bf Postcondition} & A user manages to check a task assigned to him/her.\\ \hline

\noindent
{\bf Priority} & Must\\ \hline

\noindent
{\bf Traces to Test Cases} & Add when test cases done.\\ \hline
\end{tabular}


\subsubsection{Use Case 2} \label{uc:2}
\begin{tabular} {|l|p{20em}|} \hline
\noindent
{\bf Name} & View Persons.\\ \hline

\noindent
{\bf Summary} & The user is trying to check which person is assigned a specific task. This requires the person which is being checked to have a task assigned to him/her.\\ \hline

\noindent
{\bf Actors} & Any user.\\ \hline

\noindent
{\bf Precondition} & There must be a person with a task assigned to him/her.\\ \hline

\noindent
{\bf Main Scenario} & 1. The user checks the persons table in the person view to see who is assigned which tasks.\\ \hline

\noindent
{\bf Exceptions} & 1. If the person is not assigned any tasks, the message "No tasks assigned to this person" will be given.\\ \hline

\noindent
{\bf Postcondition} & A user manages to check who has what task assigned to him/her.\\ \hline

\noindent
{\bf Priority} & Must\\ \hline

\noindent
{\bf Traces to Test Cases} & Add when test cases done.\\ \hline
\end{tabular}

\subsubsection{Use Case 3} \label{uc:3}
\begin{tabular} {|l|p{20em}|} \hline
\noindent
{\bf Name} & Create Tasks.\\ \hline

\noindent
{\bf Summary} & The user is trying to create a task. This requires the user to have the clearance to do so. The user must be identified.\\ \hline

\noindent
{\bf Actors} & Admin.\\ \hline

\noindent
{\bf Precondition} & The user must have the clearance to create a task.\\ \hline

\noindent
\multirow{5} {*}{\bf Main Scenario} 
& 1. The system checks if the user is allowed to create tasks.\\
& 2. The system grants if the user the ability to create tasks.\\
& 3. The user creates a task.\\
& 4. The system updates the task and updates all the task management system views to display the newly created change.\\ \hline

{\bf Exceptions} & 1. If the user does not have the necessary clearance, the message "You are NOT allowed to create tasks." will be given.\\ \hline

{\bf Postcondition} & A valid user has been granted clearance to create tasks.\\ \hline

{\bf Priority} & Must\\ \hline

{\bf Traces to Test Cases} & Add when test cases done.\\ \hline
\end{tabular}


\subsubsection{Use Case 4} \label{uc:4}
\begin{tabular} {|l|p{20em}|} \hline
\noindent
{\bf Name} & Edit Tasks.\\ \hline

\noindent
{\bf Summary} & The user is trying to edit and change a task. This requires the user to have the clearance to do so. The user must be identified.\\ \hline

\noindent
{\bf Actors} & Admin.\\ \hline

\noindent
{\bf Precondition} & There must be a task available to edit.\\ \hline

\noindent
\multirow{5} {*}{\bf Main Scenario} 
& 1. The system checks if the user is allowed to edit tasks.\\
& 2. The system grants if the user the ability to edit tasks.\\
& 3. The user modifies a task.\\
& 4. The system updates the task and updates all the task management system views to display that change.\\ \hline

{\bf Exceptions} & 1. If the user does not have the necessary clearance, the message "You are NOT allowed to edit tasks." will be given.\\ \hline

{\bf Postcondition} & A valid user has been granted clearance to edit tasks.\\ \hline

{\bf Priority} & Must\\ \hline

{\bf Traces to Test Cases} & Add when test cases done.\\ \hline
\end{tabular}


\subsubsection{Use Case 5} \label{uc:5}
\begin{tabular} {|l|p{20em}|} \hline
\noindent
{\bf Name} & Delete Tasks.\\ \hline

\noindent
{\bf Summary} & The user is trying to delete a task. This requires the user to have the clearance to do so. The user must be identified.\\ \hline

\noindent
{\bf Actors} & Admin.\\ \hline

\noindent
{\bf Precondition} & The user must have the clearance to delete a task.\\ \hline

\noindent
\multirow{5} {*}{\bf Main Scenario} 
& 1. The system checks if the user is allowed to delete tasks.\\
& 2. The system grants if the user the ability to delete tasks.\\
& 3. The user deletes a task.\\
& 4. The system updates the task and updates all the task management system views to remove display of the deleted task.\\ \hline

{\bf Exceptions} & 1. If the user does not have the necessary clearance, the message "You are NOT allowed to delete tasks." will be given.\\ \hline

{\bf Postcondition} & A valid user has been granted clearance to delete tasks.\\ \hline

{\bf Priority} & Must\\ \hline

{\bf Traces to Test Cases} & Add when test cases done.\\ \hline
\end{tabular}


\subsubsection{Use Case 6} \label{uc:6}
\begin{tabular} {|l|p{20em}|} \hline
\noindent
{\bf Name} & Complete Tasks.\\ \hline

\noindent
{\bf Summary} & The user is trying to display that a task has been completed. This requires the user to have completed all subtasks (if any) of that task. The user must be identified.\\ \hline

\noindent
{\bf Actors} & Any user.\\ \hline

\noindent
{\bf Precondition} & The user must have completed all subtasks (if any) of a specific task.\\ \hline

\noindent
\multirow{5} {*}{\bf Main Scenario} 
& 1. The system checks if all subtasks of the specific task have been completed.\\
& 2. The system updates all the task management system views to display the completed task.\\ \hline

{\bf Exceptions} & 1. If the user does not not finish all subtasks for the specific task, the message "Not all subtasks have been completed for this task. 
Please complete all subtasks." will be given.\\ \hline

{\bf Postcondition} & The task will display as completed in all the views of the task management system.\\ \hline

{\bf Priority} & Must\\ \hline

{\bf Traces to Test Cases} & Add when test cases done.\\ \hline
\end{tabular}


\section{Non-Functional Constraints}

\section{Data Dictionary}

\section{References}

\appendix

\section{Description of File Format: Tasks}

Describe input file format.

\section{Description of File Format: Persons}

Describe output file format.

\end{document}
